Rolling shutter synchronization

ABSTRACT

A camera system configuration generates 2D or 3D images capable of being stitched together to create panoramic images. The configuration detects a communication coupling of at least two cameras for capturing a sequence of images. The cameras themselves are configured such that their rolling shutters mitigate field of view artifacts from adjacent cameras (2D panoramas) and adjacent 3D camera pairs (3D panoramas) by allowing for the substantially temporally-aligned capture of light in overlap regions between adjacent cameras.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 13/610,753, filed Sep. 11, 2012, now U.S. Pat. No. 9,204,041, which application claims the benefit of Provisional Application No. 61/667,882, filed on Jul. 3, 2012, all of which are incorporated by reference in their entirety.

1. TECHNICAL FIELD

This disclosure relates to a camera system, and more specifically, to a configurable camera system, for capturing 2D and 3D panoramic images or video, that mitigates field of view artifacts.

2. DESCRIPTION OF THE RELATED ARTS

In recent years, amateur use of digital cameras has increased dramatically as improvements in digital camera technology have allowed cameras to become more affordable and user-friendly. However, advanced forms of digital photography such as panoramic and three-dimensional (3D) panoramic imaging have conventionally been available only to professional photographers and filmmakers. Traditionally, 3D photography requires expensive stereoscopic cameras that are often bulky and difficult to use. Similarly, panoramic photography in two-dimensional (2D) and 3D traditionally requires advanced multi-lens cameras that are not affordable to the amateur photographer or moviemaker.

Some amateur photographers have found success in these areas by capturing a sequence of images from different camera positions or using multiple cameras to capture a sequence of images that are subsequently manipulated to generate panoramic images. However, capturing the sequence of images correctly and the subsequent manipulation of the images requires considerable experience, effort and time—in addition to expensive software—which prevents the majority of amateur photographers from being able to generate such images at all. Furthermore, the capturing methods described above, while acceptable for generating images of static environments with stationary cameras, are not only unwieldy but unacceptable solutions for action shots (moving camera or object), let alone video recordings.

BRIEF DESCRIPTIONS OF THE DRAWINGS

The disclosed embodiments have other advantages and features which will be more readily apparent from the following detailed description of the invention and the appended claims, when taken in conjunction with the accompanying drawings, in which:

Figure (or “FIG.”) 1 is a diagram illustrating an example FOV artifact due to overlapping field of views according to one example embodiment.

FIG. 2a is a diagram illustrating a top down view of a two camera system capturing image data resulting in FOV artifacts according to one embodiment.

FIG. 2b is a diagram illustrating an image captured from each camera of a two camera system according to one example embodiment.

FIG. 2c is a diagram illustrating stitched image data from a two camera system and a resulting FOV artifact according to one example embodiment.

FIG. 3a is a diagram illustrating a top down view of a two camera system capturing image data resulting in FOV artifacts according to one example embodiment.

FIG. 3b is a diagram illustrating an image captured from each camera of a two camera system according to one example embodiment.

FIG. 3c is a diagram illustrating stitched image data from a two camera system and a resulting FOV artifact according to one example embodiment.

FIG. 4a is a diagram illustrating a top down view of a two camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 4b is a diagram illustrating an image captured from each camera of a two camera system for mitigating FOV artifact according to one example embodiment.

FIG. 4c is a diagram illustrating stitched image data from a two camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 5a is a diagram illustrating a top down view of a two camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 5b is a diagram illustrating an image captured from each camera of a two camera system for mitigating FOV artifact according to one example embodiment.

FIG. 5c is a diagram illustrating stitched image data from a two camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 6a is a diagram illustrating a top down view of a two camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 6b is a diagram illustrating an image captured from each camera of a two camera system for mitigating FOV artifact according to one example embodiment.

FIG. 6c is a diagram illustrating stitched image data from a two camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 7 is a diagram illustrating a top down view of an example four camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 8 is a diagram illustrating a top down view of another example four camera system for mitigating FOV artifacts according to one example embodiment.

FIG. 9 is a diagram illustrating a camera subsystem for use in a camera for mitigating FOV artifacts according to one example embodiment

DETAILED DESCRIPTION

The Figures (FIGS.) and the following description relate to preferred example embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.

Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It is noted that wherever practicable similar or like reference numbers may be used in the figures and may indicate similar or like functionality. The figures depict example embodiments of the disclosed system (or method) for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.

Overview of Example Embodiments

Example embodiments detailed herein relate to a multi-camera system with opposing and/or converging rolling shutters (RSs) for mitigating overlapping field of view (FOV) artifacts resulting from camera or object motion during RS image/video frame capture. In order to mitigate FOV artifacts, the multi-camera system includes cameras configured such that a selection of any two adjacent cameras features opposing or converging RSs. The opposing and converging RSs capture image data at the cameras' overlapping FOV at temporally proximate times, thus preventing or significantly reducing time-delay artifacts.

In one example embodiment, the multi-camera system with opposing and/or converging RSs includes a first complementary metal oxide semiconductor (CMOS) image sensor adjacent to a second CMOS image sensor. The first CMOS is associated with a first RS configured to roll in a first direction relative to an orientation of the first CMOS. The second CMOS is associated with a second RS configured to roll in a second direction relative to the first CMOS when the first CMOS and second CMOS are similarly oriented, the second direction opposite the first direction.

In another example embodiment, the multi-camera system with opposing and/or converging RSs includes a first camera adjacent to a second camera. The first camera includes a first RS configured to roll in a first direction relative to an orientation of the first camera. The second camera includes a second RS configured to roll in a second direction relative to the first camera when the first camera and second camera are similarly oriented, the second direction opposite the first direction.

In another example embodiment, the multi-camera system with opposing and/or converging RSs includes an enclosure for orienting a first camera and a second camera, the first camera adjacent to the second camera. The first camera includes a first RS configured to roll in a first direction relative to the orientation of the first camera in the enclosure. The second camera includes a second RS configured to roll in the first direction relative to the first camera when the first camera and second camera are similarly oriented. The orientation of the second camera in the enclosure is configured such that the second RS rolls in a second direction relative to the first RS of the first camera when the first and second camera are positioned in the enclosure, the second direction opposite the first direction.

Example Camera Systems

A multi-camera system comprises two or more (i.e., a plurality of) cameras. In a two-dimensional (2D) operating configuration, each of the plurality of cameras can be used in a conventional standalone manner to capture 2D image data. Furthermore, two or more cameras may be time-synchronized to capture image data in a synchronized manner. Their synchronization allows a user to easily capture temporally identified image data (e.g., tagged key frames or file names) from multiple viewpoints. The synchronous image data from the different cameras is stored and later pieced together based on the temporal information into time-localized video segments (e.g., a scene or cut) or sequences of images from the different cameras to make a continuous-time movie (e.g., using post-processing movie software) or slide show. For 2D panoramic and semi-panoramic imaging, sets of images or video frames captured synchronously (at the same time) may be combined (stitched together) to form a single image or video frame.

In a three-dimensional (3D) operating configuration, two or more cameras are communicatively coupled together (electrically and/or physically) and synchronized such that the captured image data can be overlaid to create 3D images and/or video. The 3D images and video create the illusion of depth thereby providing the 3D effect. Similar to the 2D operating configuration, two or more camera pairs may be time-synchronized to capture image data from multiple 3D perspectives, which is later compiled into a continuous time 3D panoramic movie or slideshow.

In a panoramic or semi-panoramic operating configurations, a plurality of cameras (e.g., two or more cameras) are communicatively coupled together (electrically and/or physically) and synchronized such that the captured images and/or video can be spatially stitched together to create panoramic or semi-panoramic images and/or video (e.g., allowing for up to a 360 degree view). Furthermore, by coupling together a plurality of camera pairs configured for 3D capture (e.g., four or more camera pairs), 3D panoramic and semi-panoramic images and/or video can be created.

In the 2D and 3D configurations described above, one of the cameras of a panoramic camera system (and one of the cameras of each 3D camera pair) may act a master camera and the remaining camera(s) act as slaves. Alternatively, an independent control module (e.g., a non-camera module) may act as the master for the frame synchronization and setting. In this example embodiment, all of the cameras act as slaves. As each camera may be oriented to point to a different direction, the desired setting for each camera to take a good picture may be different. The master (camera or independent control module) sends commands to the slave cameras to configure various settings and synchronize image capture. Each camera sends their settings to the master. The master then defines the appropriate setting for each cameras. Thus, multiple sets of images or video are captured, one from each of the cameras. The camera lenses are positioned such that each camera faces a different direction. For example, in one example embodiment, four cameras are used to capture panoramic images or video with the cameras aligned on a horizontal plane and oriented to 0°, 90°, 180°, and 270° respectively. In another example embodiment, six cameras are used to capture panoramic images with the cameras aligned on a horizontal plane and oriented to 0°, 60°, 120°, 180°, 240°, and 300° respectively. In another example embodiment, a pair of cameras coupled in a 3D capture configuration may be oriented in each direction to capture 3D panoramic images or video. Generally, the captured image/video from each of the cameras at least partially overlaps with the image/video of neighboring cameras. In one example embodiment, captured images or video may be wirelessly streamed to a remote device for storing or live viewing. Using post-processing or real-time image processing software, the images are stitched together to create the panoramic or spherical images or videos.

In one example embodiment, each camera may be programmable to a different operating mode depending on the particular configuration in which it will be used. For example, a user may access a program menu on each camera to select the appropriate camera configuration for each camera. Alternatively, a camera configuration may be set automatically by detecting the configuration of an adjacent camera.

Beneficially, the camera system can be used in a variety of arrangements to capture different types of images and video. Thus, for example, a user may not need to purchase or transport separate cameras for capturing the different aforementioned types of images and video. The configurations as described herein allows for increasing the functional operations available to a user by configuring cameras in a cost effective manner.

By way of example, at an event such as a sporting event, a user owning a set of two cameras, such as those illustrated in FIG. 1, may desire to capture panoramic images of the event. To do so, the user configures the cameras into a panoramic operating configuration and captures synchronous image data of the event. The captured content may be stitched together spatially based on temporal data associated with the captured content in post-processing to create panoramic images and video as desired. However, in various instances, such as action shots, the stitching of images from cameras with overlapping field of views (FOVs) produces undesired artifacts that are often irreconcilable or difficult to reconcile in post processing.

In another example, a user owning four cameras may create two pairs of cameras, each pair configured to collectively capture 3D images. The user may wish to capture 3D panoramic images of the event. To do so, the user configures the cameras into a 3D panoramic operating configuration (e.g., two adjacent 3D configured camera pairs). The captured content from the camera pairs may be stitched together spatially based on temporal data associated with the captured content in post-processing to create 3D panoramic images and video as desired. However, similar to the two-camera panorama, the stitching of image data between the 3D camera pairs with overlapping FOVs produces undesired artifacts that are often irreconcilable in post processing. Thus, in either instance, the overlapping field of view between adjacent 3D camera pairs or adjacent 2D cameras in multi-camera system configurations may result in undesirable overlapping FOV artifacts that cause post processing difficulties.

Example Field of View Artifacts

FIG. 1 is a diagram illustrating an example FOV artifact due to overlapping field of views of two adjacent cameras according to one example embodiment. In some example embodiments, the adjacent cameras 100 a and 100 b belong to different, but adjacent, 3D camera pairs (paired cameras omitted) which are each configured for capturing synchronized 3D image data. The 3D image data from the camera pairs is stitched together to form 3D panoramic images or video. In other example embodiments, the adjacent cameras 100 a and 100 b are each configured for capturing synchronized 2D image data which is stitched together to form 2D panoramic images or video.

As shown, each camera 100 a, 100 b includes a lens 102, a shutter button 104, a function button 106, an indicator light 108, a control display screen 110, and a memory card slot 112. Other conventional camera features not specifically illustrated or described may also be included in camera 100 a or camera 100 b. For example, each camera 100 may include various optical components, a microphone, speakers, an image and/or audio processor, a controller, internal storage (e.g., flash memory, disk, memory cache or the like), an image preview display screen, input/output ports (e.g., USB, IEEE-1394, Bluetooth, or the like) a communications module (e.g., WiFi or mobile communication such as 3G, 4G, LTE or the like) and other conventional components. Furthermore, each camera 100 may include different or additional control inputs than those illustrated in FIG. 1 for capturing images and/or videos, for viewing previously captured images and/or videos, and for managing various camera settings.

In addition to conventional camera components, each camera 100 may also include a communication interface for communicating with one or more other cameras. The communication interface allows a camera 100 to connect or pair with one or more other cameras via a wired or wireless interface. For example, in the 3D or panoramic operating configuration, two (or more) cameras are coupled via their respective communication interfaces.

Each camera 100 may have one of a variety of format factors. In one example embodiment, each individual camera 100 in the camera system has a small form factor (e.g., a height of approximately 4 to 6 centimeters, a width of approximately 5 to 7 centimeters, and a depth of approximately 2 to 4 centimeters), and is lightweight (e.g., approximately 50 to 150 grams). In other example embodiments, each camera 100 may have any suitable form factor configured to enable the functionalities as described herein.

In the 2D operating configuration, each camera functions like a standalone digital camera. When optionally synchronized, multiple cameras can simultaneously capture video or still images in a time-synchronized manner. In one example embodiment, the cameras communicate using a master/slave (or primary/secondary) configuration in which one camera operates as the master and one more additional cameras operate as slaves. In this configuration, the master camera sends various commands to the slave cameras. For example, the master camera may send a command that instructs each of the slave cameras to capture an image or begin recording video at a particular time (e.g., predefined instance) or at a specific event (e.g., a specific event within the camera such as capture of a first frame of video or other image). Furthermore, the master camera may configure various settings of the slave cameras such as, for example, frame rate, exposure time, resolution, color, and any other operating parameters to ensure that the cameras record video or images using the same setting.

Since each of the cameras may be identical, in one example embodiment, any camera can be configured as either a master or slave (e.g., using a physical switch or a software setting). For video, the cameras are time-synchronized to ensure that each of the synchronized cameras initializes video capture at the same time. Furthermore, for video, the slave camera's clocks are periodically re-synchronized with the master camera's clock in order to re-synchronize the cameras and compensate for potential draft due to different internal camera clock characteristics. In one example embodiment, captured images or video are wireless streamed to a remote device for live viewing. Each camera may also record and store their respective data locally.

As shown in FIG. 1, cameras 100 a and 100 b are similarly positioned such that the surface of their lenses 102 are substantially coplanar and aligned along line 130 and their top surfaces (denoted by shutter button 104) are coplanar. In other example embodiments, the cameras 100 are rotated (e.g., towards or away from each other) in the plane formed by their top, or side surfaces, such that the lens 102 surfaces are not coplanar. The distance between lenses 102 a and 102 b along line 130 may also differ depending on the desired application.

Each lens 102 includes a corresponding FOV 103 which denotes the physical area where a camera 100 captures image data. While the FOVs 103 illustrated in FIG. 1 are similar in size for both cameras 100 a and 100 b, different FOVs may result when there are differing lenses 102 or zoom settings between the cameras.

The edges of camera 100 a's FOV 103 a are denoted by FOV boundary lines 115 a and 116 a. Also shown is the RS direction 117 a of camera 100 a, which exposes the CMOS in the direction of boundary line 115 a to 116 a. The edges of camera 100 b's FOV 103 b are similarly shown along with its RS direction 117 b, which similarly exposes the CMOS in the direction of boundary line 115 b to 116 b.

As a result of the positions of cameras 100 a and 100 b, the field of views 103 a, 103 b overlap to form region 114. As described above, if the cameras 100 are rotated towards each other or moved closer together, the FOV overlap region 114 increases. While the overlap region 114 decreases if the cameras 100 are rotated away from each other or moved further apart, the image distortion at FOV boundaries 115 and 116 results in other impracticalities for stitching collected image data. In practice, the actual size of the overlap region 114 may be altered based on the user's desired application or equipment qualities (e.g., lens 102 distortion). In either instance, FOV artifacts may occur within the overlap region 114.

To demonstrate an example circumstance producing an FOV artifact, FIG. 1 illustrates an object 120 (e.g., a baseball) moving along path 121 within region 114 during image capture. The baseball 120 is shown at a first position 125 a and second position 125 b along path 121. It is also recognized that the first position 125 a of the baseball 120 corresponds to a first time, t1, during its flight and the second position 125 b corresponds to a second time, t2, during the same flight.

Each position 125 a, 125 b also represents the location and time when the respective RS 117 a, 117 b of a camera 100 encounters the baseball 120 along its flight path. As shown, the RS 117 a of camera 100 a encounters the baseball 120 at position 125 a and the RS 117 b of camera 100 b encounters the baseball 120 at a later time, at position 125 b. In other words, camera 100 a “sees” or captures an image of the baseball 120 before camera 100 b. Thus, considering the image data collected from both cameras 100, the multi-camera system captures image data of the baseball 120 at two different positions 125 a, 125 b. The discrepancy in the position 125 of the baseball 120 is an example of a FOV artifact. Oftentimes, these FOV artifacts create significant problems during post-processing. FIGS. 2a through 2c describe example FOV artifacts in greater detail.

FIG. 2a is a diagram illustrating a top down view of a two camera system capturing image data resulting in FOV artifacts according to one example embodiment. In one example embodiment, FIG. 2a illustrates a top down view of two adjacent cameras 100 a, 100 b in either a 2D or 3D camera pair configuration as described with reference to FIG. 1.

Also shown in FIG. 2a are the RS scan directions 117 of each camera 100. An object's (reference numeral omitted) position 125 and direction 121 (e.g., parallel to the RS 117) are noted within the overlap region 114 of the cameras' 100 FOVs 103 a and 103 b.

Position 125 a corresponds to the object's location when encountered by RS 117 a while position 125 b corresponds to the object's location when encountered by RS 117 b. Because the rolling shutters 117 a and 117 b are not opposed (or converging), the RSs 117 encounter the object at two separate positions 125 a, 125 b within the FOV 103 overlap region 114.

FIG. 2a also illustrates an example stitching line 205 where image data from each camera 100 is spliced together to form a single coherent image or video. Typically, in the illustrated configuration, camera 100 b supplies the image data above stitching line 205 and camera 100 b supplies the image data below. The redundant image data collected by camera 100 a between 115 a and 205 and by camera 100 b between 116 b and 205 is omitted from the final image or video during post processing. FIG. 2b illustrates the stitching line 205 with respect to image data captured from camera 100 a and 100 b.

FIG. 2b is a diagram illustrating an image captured 210 from each camera 100 of a two camera system according to one example embodiment. Image 210 a corresponds to the image captured from camera 100 a and shows the object at position 125 a relative to stitching line 205 a. Similarly, image 210 b corresponds to the image captured from camera 100 b and shows the object at position 125 b relative to stitching line 205 b. The different positions 125 of the object in the image data 210 create issues when the image data is spliced together.

FIG. 2c is a diagram illustrating stitched image data 215 from a two camera system and a resulting FOV artifact according to one example embodiment. As shown, the stitched image data 215 results from splicing the capture image data 210 at the stitching line 205 by discarding overlapping image data. In the illustrated example, stitching by discarding the overlapping image data in the overlap region 114 results in a final image 215 that does not include the object. While the FOV artifact may be rectified by discarding only one overlap region (e.g., from camera 100 b) for this specific example, this requires a manual frame by frame analysis of captured images. Furthermore, moving camera shots or capturing image data of larger moving objects that are not fully encompassed within the overlap region (e.g., are crossing a FOV boundary line 115, 116 b forming an overlap region) would still result in FOV artifacts.

FIG. 3a is a diagram illustrating a top down view of a two camera system capturing image data resulting in FOV artifacts according to one example embodiment. In one example embodiment, FIG. 3a illustrates a top down view of two adjacent cameras 100 a, 100 b in either a 2D or 3D camera pair configuration as described with reference to FIG. 1. Also shown in FIG. 3a are the RS scan directions 117 of each camera 100 and a direction of movement 321 into the page within the overlap region 114. In one example embodiment, the direction of movement 321 (e.g., perpendicular to the RS 117) corresponds to an object capture in the image data that appears on both sides of a stitching line 205. Alternatively, the camera system may be moving with or opposite the direction of movement to produce a FOV artifact.

FIG. 3a also illustrates an example stitching line 205 where image data from each camera 100 is spliced together to form a single coherent image or video. Typically, in the illustrated configuration, camera 100 b supplies the image data above stitching line 205 and camera 100 b supplies the image data below. The redundant image data collected by camera 100 a between 115 a and 205 and by camera 100 b between 116 b and 205 is omitted from the final image or video during post processing. FIG. 3b illustrates the stitching line 205 with respect to image data captured from camera 100 a and 100 b.

FIG. 3b is a diagram illustrating an image captured 310 from each camera of a two camera system according to one example embodiment. Image 310 a corresponds to the image captured from camera 100 a and shows an object moving in the direction of travel 321 at position 325 a relative to stitching line 205 a (i.e. with a portion on either side at position 325 a). Similarly, image 210 b corresponds to the image captured from camera 100 b and shows the same object moving in the direction of travel 321 at position 325 b relative to stitching line 205 b. The different positions 325 of the object in the image data 210 create issues when the image data is spliced together.

FIG. 3c is a diagram illustrating stitched image data 315 from a two camera system and a resulting FOV artifact according to one example embodiment. As shown, the stitched image data 315 results from splicing the images 310 at the stitching line 205 by discarding overlapping image data. In the illustrated example, stitching by discarding the overlapping image data in the overlap region 114 results in a final image 315 that includes portions of the object at the respective positions 325 a, 325 b, where the RSs 117 captured the image data. While the FOV artifact may be rectified by discarding only one overlap region (e.g., from camera 100 b) for this specific example, this requires a manual frame by frame analysis of captured images. Furthermore, moving camera shots or capturing image data of larger moving objects that are not fully encompassed within the overlap region (e.g., are crossing a FOV boundary line 115, 116 b forming an overlap region) would still result in FOV artifacts.

Example Camera Configurations for Mitigating FOV Artifacts

FIGS. 4 through 8 illustrate example embodiments of a camera system for mitigating FOV artifacts. The cameras and camera systems discussed with reference to those figures may include configurable RSs. Alternatively, one or more cameras may include an RS configured to roll in a direction different than that of another camera. Furthermore, example embodiments include systems of two or more cameras with the same RS direction but different camera orientations for changing—relative to another camera—the RS directions of the camera system.

Additionally, one or more of the illustrated example embodiments includes a camera housing for orienting (e.g., to change the RS direction or position the camera) or protecting one or more cameras. The housing may be, for example, a clear rigid housing structured to secure two or more cameras. The housing may be structured such that the FOV overlap region between two adjacent cameras whose image data will be stitched is reduced. Furthermore, the housing may be structured such that when a camera pair is inserted into the housing, the camera lenses are positioned at an appropriate distance for capture of 3D images and/or video.

In the 2D and 3D panoramic operating configuration, a housing or mounting structure may be used that is structured such that when the cameras are inserted into the housing or mounting structure, the camera lenses are positioned at appropriate distances for capturing panoramic (and/or 3D panoramic) images and video. In one example embodiment, the camera housing is rigid (or substantially rigid) (e.g., plastic, metal, fiberglass, etc.) In one example embodiment, the camera housing may be appropriately configured for use in various operating conditions. For example, the camera housing may comprise a waterproof enclosure that protects the camera from water when used, for example, while surfing or scuba diving. Furthermore, an electrical backbone may be built into the mounting structure such that when the cameras are physically connected to the structure, the appropriate electrical connections are made for synchronizing the cameras for panoramic and/or 3D image or video capture.

Furthermore, one or more of the cameras in a camera system can be configured to operate in either an upright mode or an upside-down mode relative to a top of the camera (e.g., where the shutter button 104 is located). In the upright mode (e.g., shutter button 104 facing upward in the example camera 100 configuration illustrated in FIG. 1), the orientation of the captured images/video matches what a user would see through the viewfinder (i.e., the orientation is not flipped). In the upside down mode (e.g., the side opposite the shutter button facing upward and the side having the shutter button 104 is facing downward), the stored image/video is flipped about the horizontal axis (i.e., upside down relative to what a user would see through the viewfinder). This allows the camera 100 to capture images and/or video that is properly oriented even when the user turns the camera upside down.

Additional embodiments include a synchronization interface for synchronizing camera functions such as a rolling shutter. The synchronization interface may also configure variable RSs to roll in a specific direction (e.g., towards or away from an overlap region 114). For capturing still images, the synchronization interface coordinates the synchronous capture of image data by instructing the cameras to roll the RSs at the same time and speed. For capturing live video, the synchronization interface instructs the cameras to roll the RSs at the same time and speed and monitors the RS scanning of all cameras in the system. If the RSs corresponding to an overlapping FOV fall out of sync, the synchronization interface resynchronizes the RSs (e.g., skipping a frame or adjusting RS speed). If a frame is skipped, the last or next frame may be duplicated and the RSs restarted. The synchronization interface may be built into a master camera or an electrical backbone of a housing, or may be provided by an external device.

FIG. 4a is a diagram illustrating a top down view of a two camera system for mitigating FOV artifacts according to one example embodiment. In one example embodiment, FIG. 4a illustrates a top down view of any two adjacent cameras 100 a, 100 b in a 2D camera configuration. In other example embodiments, FIG. 4a illustrates a top down view of any two adjacent cameras of separate 3D camera pairs (e.g., with each camera pair having the same RS direction) in a 3D panoramic configuration. Also shown in FIG. 4a is an opposing RS scan configuration 400 of the camera system. The RS direction 400 a of camera 100 a is configured to scan from FOV boundary 115 a to 116 a and the RS direction 400 b of camera 100 b is configured to scan—in the opposite direction of 400 a—from FOV boundary 116 b to 115 b. By configuring the RS scan directions 400 in this manner, FOV artifacts may be reduced as the cameras 100 see or capture image data 410 in the overlap region 114 temporally proximate to each other (e.g., at nearly the same time).

FIG. 4a also illustrates an object traveling in direction 121. Position 125 a corresponds to the object's location when encountered by RS 400 a (e.g., RS 117 a in FIG. 2a for the same object) while position 425 b corresponds to the object's location when encountered by RS 400 b. While the RSs 400 still capture the object at two separate positions 125 a, 425 b, the change in the object's position in the overlap region 114 is greatly reduced. Accordingly, the object is less likely to appear on the other side of the stitching line 205 and produce a FOV artifact.

For object positions approaching the stitching line 205, the distance between the first and second captures is further reduced. Additionally, the RSs 400 configuration enables the cameras 100 to capture image data along the stitching line 205 at the same instant. For objects crossing the stitching line 205 (or camera movement) at the moment of capture, the synchronized capture of image data at the stitching line 205 results in the same cross section of the object (or background) captured in the image data 410 at the stitching line by both cameras 100. Thus, when the collected image data from each camera 100 is spliced at the stitching line 205, object movement (e.g., in direction 121) and camera movement does not result in FOV artifacts.

FIG. 4b is a diagram illustrating an image captured 410 from each camera 100 of a two camera system for mitigating FOV artifacts according to one example embodiment. Image data 410 a corresponds to the image captured from camera 100 a and shows the object at position 125 a relative to the stitching line 205 a. Similarly, image 510 b corresponds to the image captured from camera 100 b and shows the object at position 425 relative to stitching line 205 b.

For illustrative purposes, assume that the images captured in FIG. 2b and FIG. 4b are of the same object but with different camera systems (e.g., the camera systems in FIG. 2a and FIG. 4a , respectively). Compared to captured images 210 which show the object in drastically different positions 125 a, 125 b, captures 410 a, 410 b show the object in substantially the same position 125 a, 425 due to RS 400 b rolling in the opposite direction of RS 400 a. While an actual measured distance between position 125 a and 125 b or 425 directly depends on object speed and RS speed, with substantially the same object and RS speed, the RS 400 configuration of FIG. 4a will reduce the distance from 125 a to the second object position 425 compared with the configuration of FIG. 2a . For a sufficiently fast RS 400, the camera configuration in FIG. 4a substantially eliminates FOV artifacts within the overlap region 114.

Furthermore, as the distance between the object positions 125, 425 decreases to zero at the stitching line 205, an object crossing the stitching line will have substantially the same cross section at 205 a and 205 b. Similarly, for moving cameras 100, the background at the stitching line 205 will be substantially identical. Thus, when captured images (not shown) in these scenarios are stitched, image data of the object and/or background at the stitching line 205 is substantially aligned, therefore reducing FOV artifacts.

FIG. 4c is a diagram illustrating stitched image data 415 from a two camera system for mitigating FOV artifacts according to one example embodiment. As shown, the stitched image data 415 results from splicing the captured image data 410 at the stitching line 205 by discarding overlapping image data. In the illustrated example, stitching by discarding the overlapping image data does not result in a FOV artifact as the object does not cross the stitching line 205. Furthermore, because the distance from the first object position 125 a to the second object position 425 reduces to zero for the cross section at the stitching line 205, the stitching 415 of collected image data 410 can be automated.

FIG. 5a is a diagram illustrating a top down view of a two camera system for mitigating FOV artifacts according to one example embodiment. In one example embodiment, FIG. 5a illustrates a top down view of any two adjacent cameras 100 a, 100 b in a 2D camera configuration. In other example embodiments, FIG. 5a illustrates a top down view of any two adjacent cameras of separate 3D camera pairs (e.g., with each camera pair having the same RS direction) in a 3D panoramic configuration. Also shown in FIG. 5a is an opposing RS scan configuration 500 of the camera system. The RS direction 500 a of camera 100 a is configured to scan from FOV boundary 116 a to 115 a and the RS direction 500 b of camera 100 b is configured to scan—in the opposite direction of 500 a—from FOV boundary 115 b to 116 b. By configuring the RS scan directions 500 in this manner, FOV artifacts may be reduced as the cameras 100 see or capture image data 510 in the overlap region 114 temporally proximate to each other.

FIG. 5a also illustrates an object traveling in direction 121. Position 525 corresponds to the object's location when encountered by RS 500 a while position 125 b corresponds to the object's location when encountered by RS 500 b (e.g., RS 117 b in FIG. 2a for the same object). While the RSs 500 still capture the object at two separate positions 525, 125 b, the change in the objects position in the overlap region 114 is greatly reduced. Accordingly, the object is less likely to appear on the other side of the stitching line 205 and produce a FOV artifact.

For object positions closer to the stitching line 205, the distance between the first and second captures is further reduced. Additionally, along the stitching line 205, the RSs 500 cause the cameras 100 to capture image data at the same instant. For objects crossing the stitching line 205 (or camera movement) at the moment of capture, the synchronized capture of image data at the stitching line 205 results in the same cross section of the object (or background) captured in the image data 510 at the stitching line by both cameras 100. Thus, when the image data from the cameras 100 are spliced at the stitching line 205, object movement (e.g., in direction 121) and camera movement will not result in FOV artifacts.

FIG. 5b is a diagram illustrating an image captured 510 from each camera 100 of a two camera system for mitigating FOV artifacts according to one example embodiment. Image data 510 a corresponds to the image captured from camera 100 a and shows the object at position 525 relative to the stitching line 205 a. Similarly, image 510 b corresponds to the image captured from camera 100 b and shows the object at position 125 b relative to stitching line 205 b.

For illustrative purposes, assume that the images captured in FIG. 2b and FIG. 5b are of the same object but with different camera systems (e.g., the camera systems in FIG. 2a and FIG. 5a , respectively). Compared to captured images 210 which show the object in drastically different positions 125 a, 125 b, configuration of RS 500 b in the opposite direction of 500 a results in captures 510 a, 510 b that show the object in substantially the same position 525, 125 b. While an actual measured distance between the positions directly depends on object speed and RS speed, with substantially the same object and RS speed, the RS 500 configuration of FIG. 5a will reduce the distance from 525 to the second object position 125 b compared with the configuration of FIG. 2a . For a sufficiently fast RS 500, the camera configuration in FIG. 5a substantially eliminates FOV artifacts within the overlap region 114.

Furthermore, as the distance between the object positions 525, 125 b decreases to zero at the stitching line 205, an object crossing the stitching line will have substantially the same cross section at 205 a and 205 b. Similarly, for moving cameras 100, the background at the stitching line will be substantially identical. Thus, when captured images (not shown) in these scenarios are stitched, image data of the object and/or background at the stitching line 205 is substantially aligned, therefore reducing FOV artifacts.

FIG. 5c is a diagram illustrating stitched image data 515 from a two camera system for mitigating FOV artifacts according to one example embodiment. As shown, the stitched image data 515 results from splicing the captured image data 510 at the stitching line 205 by discarding overlapping image data. In the illustrated example, stitching by discarding the overlapping image data does not result in a FOV artifact as the object does not cross the stitching line 205. Furthermore, because the distance from the first object position 525 to the second object position 125 b reduces to zero for the cross section at the stitching line 205, the stitching 515 of collected image data 510 can be automated.

FIG. 6a is a diagram illustrating a top down view of a two camera system for mitigating FOV artifacts according to one example embodiment. In one example embodiment, FIG. 6a illustrates a top down view of any two adjacent cameras 100 a, 100 b in a 2D camera configuration. In other example embodiments, FIG. 6a illustrates a top down view of any two adjacent cameras of separate 3D camera pairs (e.g., with each camera pair having the same RS direction) in a 3D panoramic configuration.

Also shown in FIG. 6a are two example RS scan directions 400, 500 for each camera 100 and a direction of movement 321 into the page within the overlap region 114. In one example embodiment, the direction of movement 321 (e.g., perpendicular to the RSs 400, 500) corresponds to an object capture in the image data that appears on both sides of a stitching line 205. Alternatively, the camera system may be moving with or opposite the direction of movement. By configuring the RS scan directions 400, 500 in this manner, FOV artifacts are greatly reduced as the cameras 100 see or capture image data 510 in the overlap region 114 temporally proximate to each other.

FIG. 6b is a diagram illustrating an image captured 610 from each camera of a two camera system for mitigating FOV artifact according to one example embodiment. Image 610 a corresponds to an image captured from camera 100 a for RS direction 400 or RS direction 500 and shows an object moving in the direction of travel 321. For RS direction 400, image 610 a shows the object at position 325 a relative to stitching line 205 a (i.e. with a portion on either side) and at position 325 b for RS direction 500. Similarly, for RS direction 400, image 610 b shows the object at position 325 a relative to stitching line 205 b (i.e. with a portion on either side) and at position 325 b for RS direction 500. Because the RSs 400, 500 capture image data at the stitching line 205 at the same instant, the position 625 a, 625 b of the object in each image capture 610 for the respective RS configuration (e.g., RS 400 for position 625 a) is substantially the same.

FIG. 6c is a diagram illustrating stitched image data from a two camera system for mitigating FOV artifacts according to one example embodiment. As shown, the stitched image data 615 results from splicing the captured image data 610 at the stitching line 205 by discarding overlapping image data. In the illustrated example, stitching by discarding the overlapping image data in the overlap region 114 results in a final image 615 with the object in position 625 a for cameras 100 with RS configuration 400 and position 625 b for cameras with RS configuration 500, with mitigated FOV artifacts.

FIG. 7 is a diagram illustrating a top down view of an example four camera system 705 for mitigating FOV artifacts according to one example embodiment. The four camera system 705 includes cameras 700 a through 700 d that are respectively oriented 0°, 90°, 180°, and 270° to capture 360 degree 2D panoramic images. Each camera 100 includes a corresponding RS direction 701 for mitigating FOV artifacts when collected image data is stitched together. In one example embodiment, the RS direction 701 of one or more cameras 700 is user configurable. Alternatively, cameras 700 a and 700 c have a RS direction 701 a, 701 c configured to roll in the opposite direction of the RSs 701 b, 701 d of cameras 700 b and 700 d.

As shown in FIG. 7, any two adjacent cameras 700 have an overlapping FOV region 114. In order to mitigate FOV artifacts in the overlap regions 114, the RSs 701 of any two adjacent cameras 700 in the system 705 are configured to both roll towards or away from the overlap region 114. For example, the RSs 701 a, 701 b of adjacent cameras 700 a, 700 b are configured to roll towards their FOV overlap region 114 ab. Similarly, the RSs 701 c, 701 d of cameras 700 c, 700 d are configured to roll towards their FOV overlap region 114 cd. Consequently, the RSs 701 b, 701 c and 701 a, 701 d of the other adjacent cameras 700 roll away from overlap regions 114 bc and 114 da to also prevent FOV artifacts.

FOV artifacts are mitigated in each overlap region 114 as a result of the illustrated RS configuration to enable seamless stitching of image data collected from all cameras in the system 705. Other example embodiments can include additional cameras 700 and/or different camera orientations as long as each RS 701 corresponding to an overlap region 114 where image data will be stitched are configured to roll towards or away from the overlap region.

Furthermore, example embodiments include a camera housing for orienting cameras 700 a though 700 d as shown in FIG. 7. In one embodiment, the cameras 700 are dimensionally similar and oriented right side up as denoted by respective shutter buttons (not shown). The camera housing orients the cameras at the 0°, 90°, 180°, and 270° positions and provides communicative coupling to the cameras 700. One or more of the cameras may operate as a master camera to synchronize capture of image data. Alternatively, the housing itself may include a synchronization device for communicating directly with the cameras 700. The housing may be configured to securely enclose each camera, and may include one or more doors configured to open and close and allowing for the insertion and removal of the cameras into and from the housing.

FIG. 8 is a diagram illustrating a top down view of another example four camera 805 system for mitigating FOV artifacts according to one example embodiment. The four camera system 805 includes cameras 800 a through 800 d that are respectively oriented 0°, 90°, 180°, and 270° to capture 360 degree 2D panoramic images. Each camera 100 includes a corresponding RS direction 701 for mitigating FOV artifacts when collected image data is stitched together.

Similar to FIG. 7, FIG. 8 also shows that any two adjacent cameras 800 with an overlapping FOV region 114 have RSs 801 that either roll towards or away from the overlap region. In contrast, however, the example embodiment of FIG. 8 shows cameras 800 a and 800 c oriented upside down as denoted by the outlines of their shutter buttons 104 a, 104 c. Cameras 800 b and 800 d are oriented right side up. By orienting the cameras 800 as shown in FIG. 8, the RS configuration mitigates FOV artifacts in each overlap region 114.

Furthermore, example embodiments include a camera housing for orienting cameras 800 a though 800 d as shown in FIG. 8. In one embodiment, the cameras 800 are dimensionally similar and oriented right side up or upside down as denoted by respective shutter buttons 104 a. Orienting the cameras 800 in this manner ensures the appropriate RS configuration for cameras having the same RS roll direction. The camera housing alternately orients the cameras 800 between right side up and upside down at the 0°, 90°, 180°, and 270° positions and provides communicative coupling to the cameras. One or more of the cameras 800 may operate as a master camera to synchronize the capture of image data. Alternatively, the housing itself may include a synchronization device for communicating directly with the cameras 800. The housing may be configured to securely enclose each camera, and may include one or more doors configured to open and close and allowing for the insertion and removal of the cameras into and from the housing.

Other example embodiments include camera systems and housings of 3D camera pairs respectively oriented to capture 3D panoramic images. For example, four camera pairs (eight cameras total) respectively oriented at 0°, 90°, 180°, and 270° may be used to capture 360-degree 3D panoramic images. Similar to the cameras 700, 800 with overlapping FOV regions 114 shown in FIGS. 7 and 8, adjacent 3D camera pairs have similar FOV overlap regions. To mitigate FOV artifacts, the RSs of all four cameras in adjacent 3D camera pairs are configured to either roll towards or away from the overlap region.

Example embodiments of a 3D panoramic housing may include attachments for two or more 3D camera pairs and a synchronization interface. In one embodiment, the synchronization interface communicates with a master camera of each 3D camera pair to specify RS configurations and/or settings for the cameras. During image capture, the synchronization interface receives data from the individual master cameras and determines settings for each 3D camera pair in the 3D panoramic system.

FIG. 9 is a diagram illustrating a camera subsystem 904 for use in a camera 100 for mitigating FOV artifacts according to one example embodiment. Illustrated are at least one digital signal processor (DSP) (or microcontroller) 902 within a subsystem 904 of a camera 100. The DSP manages operations of the camera 100 and processes data collected by the image sensor 906. The image sensor 906 converts light into analog electrical signals and, depending on the embodiment, may use a charge coupled device (CCD) or CMOS sensor to produce the electrical signals. A sensor controller 908 coupled to the image sensor 906 manages collection of image data at the sensor.

In example embodiments where the image sensor 906 comprises a CMOS sensor, the sensor controller 908 may operate a rolling shutter in conjunction with the collection of image data at the sensor. Further, in some example embodiments, the sensor controller 908 may roll a direction-configurable rolling shutter in a given direction responsive to signals received from the DSP 902.

The sensor controller 908 receives analog signals from the image sensory 906 and converts the analog signals into digital signals. The digital signals, in turn, are passed to the DSP 902 which stores them in system memory 910. The system memory 910 holds instructions and data used by the DSP 902. Typically, the system memory 910 comprises a portion of random-access memory for temporary storage (e.g., buffering) of image data prior to processing carried out by the DSP 902 and transfer to a storage device 912. Other portions of the system memory 910 may be nonvolatile and store settings, firmware and other data for camera operations.

The storage device 912 is a non-transitory computer-readable storage medium such as a hard drive, writable optical disk or a solid-state memory device. The storage device 912 is typically removable and embodied as a memory card.

Example embodiments of the subsystem 904 also include a lens and focus controller 914 coupled to the DSP 902. The lens and focus controller 914 operates components of the camera such as lens zoom and lens focus via associated motor drives and other hardware or sensors used in associated with collection of image data from the image sensor 906.

The subsystem 904 also includes an input/output (I/O) controller hub 916 and a synchronization interface 920. Camera interface 918 elements such as shutter button 104, function button 106, indicator light 108 and the like that enable users to physically operate a camera 100 are coupled to the I/O controller hub 916. The synchronization interface 920 receives and/or communicates settings to other cameras and/or an external control device for synchronizing camera functions and settings. For example, the interface 920 may be used to synchronize image collection in general and more specifically to synchronize roll of rolling shutters to mitigate FOV artifacts. The interface 920 may also receive or communicate data for appropriately tagging frames across multiple cameras to enable temporal stitching and playback of 2D and 3D image data. Furthermore, the interface 920 may be coupled to an electrical backbone built into a mounting structure for making electrical connections with a control device and/or other cameras.

The graphics adapter 922 displays images and other information on the display device 924. In some embodiments, the display device 924 includes touch screen capability for receiving user input and selections. In the case of a touch-screen display 924, user inputs may also be communicated to the I/O controller hub 916 and/or a graphics adapter 922 supporting the display. Additionally, the display 924 itself may be a physical component of the camera 100 (e.g., live-preview display/viewfinder) or standalone component coupled to the camera (e.g., television or monitor).

Other example embodiments of the camera subsystem 904 have different architectures. For example, the system memory 910 may be directly coupled to the sensor controller 908 for receiving digital image data. Other camera 100 components (not shown) coupled to the DSP 902, I/O controller hub 916 or synchronization interface 920 may include a microphone, speakers, additional input/output ports (e.g., USB, IEEE-1394, Bluetooth, RJ45 or the like), GPS, a wireless communications module (e.g., WiFi or mobile communication such as 3G, 4G, LTE or the like) or other conventional components.

Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.

As used herein any reference to “one example embodiment” or “an example embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one example embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).

In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.

Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a modular configurable camera system as disclosed from the principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope. 

The invention claimed is:
 1. A system comprising: a first camera having a first configuration, the first camera comprising a first controller and a first rolling shutter configured to expose a first image sensor to a first field of view; and a second camera communicatively coupled to the first camera and comprising a second controller and a second rolling shutter configured to expose a second image sensor to a second field of view overlapping the first field of view, the second controller configured to automatically detect the first configuration and set a second configuration for the second camera based on the first configuration, the second controller configured to select a first rolling direction for the first rolling shutter such that the first rolling direction is substantially opposite a second rolling direction of the second rolling shutter, and the second controller configured to provide the selected first rolling direction and an image capture instruction to the first camera such that the first camera captures an image with the first rolling shutter rolling in the selected first rolling direction at a time temporally proximate to a capture of an image by the second camera with the second rolling shutter rolling in the second rolling direction.
 2. The system of claim 1, wherein the first camera and the second camera each comprise: a camera body; a lens positioned on a front face of the camera body; and a communication interface for communicatively coupling to other cameras.
 3. The system of claim 2, wherein the front face of the second camera faces a direction 90° relative to the direction faced by the front face of the first camera.
 4. The system of claim 3, wherein the first rolling shutter and the second rolling shutter and the second rolling shutter substantially roll towards the overlapping portion of the first field of view and the second field of view, the overlapping portion facing a direction approximately 45° relative to the direction faced by the front face of the second camera.
 5. The system of claim 3, wherein the first rolling shutter and the second rolling shutter substantially roll away from the overlapping portion of the first field of view and the second field of view, the overlapping portion facing a direction approximately 45° relative to the direction faced by the front face of the second camera.
 6. The system of claim 2, wherein the front face of the second camera faces a direction 180° relative to the direction faced by the front face of the first camera.
 7. The system of claim 5, wherein the first rolling shutter and the second rolling shutter substantially roll towards the overlapping portion of the first field of view and the second field of view, the overlapping portion facing a direction approximately 90° relative to the direction faced by the front face of the second camera.
 8. The system of claim 1, wherein the first rolling shutter comprises a variable rolling shutter configurable to roll in at least two directions.
 9. The system of claim 8, wherein the direction of the variable rolling shutter is configured by the second camera.
 10. The system of claim 1, wherein a camera housing securely encloses the first camera and the second camera.
 11. The system of claim 10, wherein the camera housing orients the first camera in an upside down orientation relative to the slave camera.
 12. A camera comprising: a first controller; and a first rolling shutter, the first controller configured to automatically detect a first configuration of a second camera and set a second configuration for the first camera based on the first configuration, the first controller configured to configure the second camera, the second camera comprising a second controller and a second rolling shutter to capture an image at a time temporally proximate to the capture of an image by the camera such that the second rolling shutter rolls in a second rolling direction substantially opposite a first rolling direction of the first rolling shutter during the capture of the images by the camera and the second camera, and the camera comprising a first field of view and the second camera comprising a second field of view at least partially overlapping with the first field of view.
 13. The camera of claim 12, wherein the camera and the second camera each comprise: a camera body; a lens positioned on a front face of the camera body; and a communication interface for communicatively coupling to other cameras.
 14. The camera of claim 13, wherein the front face of the camera faces a direction 90° relative to the direction faced by the front face of the second camera.
 15. The camera of claim 14, wherein the first rolling shutter and the second rolling shutter substantially roll towards the overlapping portion of the first field of view and the second field of view, the overlapping portion facing a direction approximately 45° relative to the direction faced by the front face of the camera.
 16. The camera of claim 14, wherein the first rolling shutter and the second rolling shutter substantially roll away from the overlapping portion of the first field of view and the second field of view, the overlapping portion facing a direction approximately 45° relative to the direction faced by the front face of the camera.
 17. The camera of claim 13, wherein the front face of the camera faces a direction 180° relative to the direction faced by the front face of the second camera.
 18. The camera of claim 16, wherein the first rolling shutter and the second rolling shutter substantially roll towards the overlapping portion of the first field of view and the second field of view, the overlapping portion facing a direction approximately 90° relative to the direction faced by the front face of the camera.
 19. The camera of claim 12, wherein the second rolling shutter comprises a variable rolling shutter configurable to roll in at least two directions.
 20. The camera of claim 19, wherein the direction of the variable rolling shutter is configured by the camera. 